The field of this disclosure relates generally to systems and methods of data reading, and more particularly but not exclusively to reading optical codes (e.g., barcodes).
Optical codes encode useful, optically-readable information about the objects to which they are attached or otherwise associated. Perhaps the best example of an optical code is the barcode. Barcodes are ubiquitously found on or associated with objects of various types, such as the packaging of retail, wholesale, and inventory goods; retail product presentation fixtures (e.g., shelves); goods undergoing manufacturing; personal or company assets; and documents. By encoding information, a barcode typically serves as an identifier of an object, whether the identification be to a class of objects (e.g., containers of milk) or a unique item.
Various types of optical code readers, such as manual readers, semi-automatic, and automated readers, are available to decode the information encoded in optical codes. In a manual or semi-automatic reader (e.g., a hand-held type reader, a fixed-position reader), a human operator positions an object relative to the reader to read the optical code associated with the object. In an automated reader (e.g., a portal or tunnel scanner), an object is automatically positioned (e.g., via a conveyor) relative to the reader to read the optical code on the object.
When an optical code reader attempts to read an optical code on an object, an error may occur. For example, when an error occurs with a manual reader, the human operator typically rescans the optical code or manually enters (e.g., via a keyboard) a number (e.g., a UPC number) corresponding to the object. In an automated reader, the reader needs to determine automatically whether an error or an unexpected event occurs. Accordingly, the present inventors have recognized a need to accurately identify and handle errors and unexpected events that occur in automated readers.